package java44th.group.bean.admin.vo;

import lombok.Data;

/**
 * @author stone
 * @date 2022/10/10 15:49
 * <p>
 * 1. 504 弹窗错误
 * 2.
 */
@Data
public class BaseRespVo<T> {
    T data;
    String errmsg;
    int errno;

    public static <T> BaseRespVo ok(T data) {
        BaseRespVo baseRespVo = new BaseRespVo();
        baseRespVo.setData(data);
        baseRespVo.setErrmsg("成功");
        baseRespVo.setErrno(0);
        return baseRespVo;
    }

    public static <T> BaseRespVo ok(int code, T data) {
        BaseRespVo baseRespVo = new BaseRespVo();
        baseRespVo.setData(data);
        baseRespVo.setErrmsg("成功");
        baseRespVo.setErrno(code);
        return baseRespVo;
    }

    public static <T> BaseRespVo ok() {
        BaseRespVo baseRespVo = new BaseRespVo();
        baseRespVo.setErrmsg("成功");
        baseRespVo.setErrno(0);
        return baseRespVo;
    }


    public static <T> BaseRespVo invalidData(String msg) {
        BaseRespVo baseRespVo = new BaseRespVo();
        baseRespVo.setErrno(504);
        baseRespVo.setErrmsg(msg);
        return baseRespVo;
    }

    public static BaseRespVo invalidData() {
        BaseRespVo baseRespVo = new BaseRespVo();
        baseRespVo.setErrno(504);
        baseRespVo.setErrmsg("更新数据已失效");
        return baseRespVo;
    }

    public static BaseRespVo invalidParameter(String msg) {
        BaseRespVo baseRespVo = new BaseRespVo();
        baseRespVo.setErrno(400);
        baseRespVo.setErrmsg(msg);
        return baseRespVo;
    }


    public static BaseRespVo falseParameter402(String msg) {
        BaseRespVo baseRespVo = new BaseRespVo();
        baseRespVo.setErrno(402);
        baseRespVo.setErrmsg(msg);
        return baseRespVo;
    }

    public static BaseRespVo unAuthc() {
        BaseRespVo baseRespVo = new BaseRespVo();
        baseRespVo.setErrno(502);
        baseRespVo.setErrmsg("认证失败");
        return baseRespVo;
    }

    public static  BaseRespVo unPerms() {
        BaseRespVo baseRespVo = new BaseRespVo();
        baseRespVo.setErrno(502);
        baseRespVo.setErrmsg("没有权限");
        return baseRespVo;
    }

    public static  BaseRespVo administratorRepeats() {
        BaseRespVo baseRespVo = new BaseRespVo();
        baseRespVo.setErrno(602);
        baseRespVo.setErrmsg("管理员已经存在");
        return baseRespVo;
    }

    public static BaseRespVo roleCreate() {
        BaseRespVo baseRespVo = new BaseRespVo();
        baseRespVo.setErrno(604);
        baseRespVo.setErrmsg("角色已经存在");
        return baseRespVo;
    }

    public static BaseRespVo falseParameter() {
        BaseRespVo baseRespVo = new BaseRespVo();
        baseRespVo.setErrno(401);
        baseRespVo.setErrmsg("参数不对");
        return baseRespVo;
    }

    public static BaseRespVo noPermissions(String errmsg) {
        BaseRespVo baseRespVo = new BaseRespVo();
        baseRespVo.setErrno(403);
        baseRespVo.setErrmsg(errmsg);
        return baseRespVo;
    }

    public static BaseRespVo complicatedParameter(String errmsg) {
        BaseRespVo baseRespVo = new BaseRespVo();
        baseRespVo.setErrno(611);
        baseRespVo.setErrmsg(errmsg);
        return baseRespVo;
    }

    /**
     * 返回错误
     *
     * @param errno
     * @param errmsg
     * @return java44th.group.bean.admin.vo.BaseRespVo
     * @author 小焦
     * @since 2022/10/12 下午 10:29
     */
    public static BaseRespVo error(int errno, String errmsg) {
        BaseRespVo baseRespVo = new BaseRespVo();
        baseRespVo.setErrno(errno);
        baseRespVo.setErrmsg(errmsg);
        return baseRespVo;
    }


}
